package dao;

import java.sql.Date;
import java.util.List;
import java.util.Map;
import java.util.Vector;

import model.Meter;
import model.MeterCost;
import model.MeterPrice;

public interface IDao_Meter
{
	int setPrice(MeterPrice meterPrice);

	int addMeter(Meter meter);

	List<Meter> getlastMeter(String dormNumber,Date date_type_in);

	int coverMeterRecord(Meter meter);

	Vector<Vector<Object>> getTransRec(String dormNumber, Date thisTime,
			Date lastTime);

	void addMeterCostRecord(MeterCost meterCost);

	void coverMeterCostRecord(MeterCost meterCost);

	List<Meter> queryHistoryByDormNumber(String dormNumber, int scale);

	List<Meter> queryHistoryByShortDate(String shortDate, int scale);

	List<Meter> queryAllHistory(int scale);

	List<Meter> queryHistoryByPower(int powerValue, int scale);

	List<Meter> queryHistoryByWater(int waterValue, int scale);

	List<MeterCost> queryCostByWaterCost(float waterCost, int scale);

	List<MeterCost> queryCostByTotalCost(float totalCost, int scale);

	List<MeterCost> queryCostByShortDate(String shortDate, int scale);

	List<MeterCost> queryCostByPowerCost(float powerCost, int scale);

	List<MeterCost> queryCostByPeopleDay(int peopleDay, int scale);

	List<MeterCost> queryCostByDormNumber(String dormNumber, int scale);

	List<MeterCost> queryCostByAverage(float average, int scale);

	List<MeterCost> queryAllCost(int scale);
	
	Meter getMeterOfLastMonth(Meter meter);
}
